package com.cskaoyan._02charstream._02encode;

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

/**
 * @description:
 * @author: 景天
 * @date: 2023/2/18 11:17
 **/
/*
java 中的编解码
 */
public class Demo3 {
    public static void main(String[] args) throws UnsupportedEncodingException {
        // 编码
        String s = "你好";
        //  byte[] getBytes()
        // 使用平台的默认字符集将此 String 编码为 byte 序列，
        // 并将结果存储到一个新的 byte 数组中。
        //byte[] bytes = s.getBytes();

        // byte[] getBytes(String charsetName)
        // 使用指定的字符集将此 String 编码为 byte 序列，
        // 并将结果存储到一个新的 byte 数组中。
        byte[] gbks = s.getBytes("GBK");


        //System.out.println(Arrays.toString(bytes));
        System.out.println(Arrays.toString(gbks));


        // 解码
        // 利用String的构造方法
        // String(byte[] bytes)
        // 通过使用平台的默认字符集解码指定的 byte 数组，构造一个新的 String。
        //String str = new String(bytes);
        //System.out.println(str);


        // String(byte[] bytes, String charsetName)
        // 通过使用指定的 charset 解码指定的 byte 数组，构造一个新的 String。
        String str = new String(gbks,"GBK");
        System.out.println(str);


    }
}
